class Student:
    # 类属性。定义在类中，方法外部
    school = '清华大学'

    # 初始化方法
    def __init__(self, xm, age):
        self.name = xm
        self.age = age

    # 定义在类中的函数，称为方法，自带self参数
    def show(self):
        print(f'我叫{self.name},今年{self.age}岁,就读于{self.school}')


# 创建实例对象
stu = Student('张三', 20)
stu2 = Student('李四', 21)
print(stu.name, stu.age)
print(stu2.name, stu2.age)

#为stu2动态绑定属性
stu2.gender = '男'
print(stu2.name, stu2.age,stu2.gender)

#print(stu.gender)  # AttributeError: 'Student' object has no attribute

#动态绑定方法 自我介绍方法
def introduce():
    print('我是一个普通的函数，我被动态绑定成了stu2对象的方法')
stu2.fun=introduce
#fun就是stu2的方法了
#调用
stu2.fun()
#删除stu2的方法
del stu2.fun
#stu2.fun()  # AttributeError: 'Student' object has no attribute 'fun'
#test

